package entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 *
 * @author Marcelo Neto
 */
public class TramitacaoAnexo implements Serializable 
{
    private static final long serialVersionUID = 7149248673056894904L;
    private Integer idtramitaAnexo;
    private Integer idanexo;
    private Date dataTramitacao;
    private String remetente; 
    private String unidadeRemetente;
    private String setorRemetente; 
    private String unidadeDestino;
    private String setorDestino;
    private String despacho;
    private AnexoProcesso anexoProcesso;

    public TramitacaoAnexo() {}

    public TramitacaoAnexo(Integer idtramitaAnexo, Integer idanexo, Date dataTramitacao, String remetente, String unidadeRemetente, String setorRemetente, String unidadeDestino, String setorDestino, String despacho, AnexoProcesso anexoProcesso) 
    {
        this.idtramitaAnexo = idtramitaAnexo;
        this.idanexo = idanexo;
        this.dataTramitacao = dataTramitacao;
        this.remetente = remetente;
        this.unidadeRemetente = unidadeRemetente;
        this.setorRemetente = setorRemetente;
        this.unidadeDestino = unidadeDestino;
        this.setorDestino = setorDestino;
        this.despacho = despacho;
        this.anexoProcesso = anexoProcesso;
    }

    public Integer getIdtramitaAnexo() {
        return idtramitaAnexo;
    }

    public void setIdtramitaAnexo(Integer idtramitaAnexo) {
        this.idtramitaAnexo = idtramitaAnexo;
    }

    public Integer getIdanexo() {
        return idanexo;
    }

    public void setIdanexo(Integer idanexo) {
        this.idanexo = idanexo;
    }

    public Date getDataTramitacao() {
        return dataTramitacao;
    }

    public void setDataTramitacao(Date dataTramitacao) {
        this.dataTramitacao = dataTramitacao;
    }

    public String getRemetente() {
        return remetente;
    }

    public void setRemetente(String remetente) {
        this.remetente = remetente;
    }

    public String getUnidadeRemetente() {
        return unidadeRemetente;
    }

    public void setUnidadeRemetente(String unidadeRemetente) {
        this.unidadeRemetente = unidadeRemetente;
    }

    public String getSetorRemetente() {
        return setorRemetente;
    }

    public void setSetorRemetente(String setorRemetente) {
        this.setorRemetente = setorRemetente;
    }

    public String getUnidadeDestino() {
        return unidadeDestino;
    }

    public void setUnidadeDestino(String unidadeDestino) {
        this.unidadeDestino = unidadeDestino;
    }

    public String getSetorDestino() {
        return setorDestino;
    }

    public void setSetorDestino(String setorDestino) {
        this.setorDestino = setorDestino;
    }

    public String getDespacho() {
        return despacho;
    }

    public void setDespacho(String despacho) {
        this.despacho = despacho;
    }

    public AnexoProcesso getAnexoProcesso() {
        return anexoProcesso;
    }

    public void setAnexoProcesso(AnexoProcesso anexoProcesso) {
        this.anexoProcesso = anexoProcesso;
    }

    @Override
    public int hashCode() 
    {
        int hash = 7;
        hash = 23 * hash + Objects.hashCode(this.idtramitaAnexo);
        hash = 23 * hash + Objects.hashCode(this.idanexo);
        hash = 23 * hash + Objects.hashCode(this.dataTramitacao);
        hash = 23 * hash + Objects.hashCode(this.remetente);
        hash = 23 * hash + Objects.hashCode(this.unidadeRemetente);
        hash = 23 * hash + Objects.hashCode(this.setorRemetente);
        hash = 23 * hash + Objects.hashCode(this.unidadeDestino);
        hash = 23 * hash + Objects.hashCode(this.setorDestino);
        hash = 23 * hash + Objects.hashCode(this.despacho);
        hash = 23 * hash + Objects.hashCode(this.anexoProcesso);
        return hash;
    }

    @Override
    public boolean equals(Object obj) 
    {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final TramitacaoAnexo other = (TramitacaoAnexo) obj;
        if (!Objects.equals(this.idtramitaAnexo, other.idtramitaAnexo)) {
            return false;
        }
        if (!Objects.equals(this.idanexo, other.idanexo)) {
            return false;
        }
        if (!Objects.equals(this.dataTramitacao, other.dataTramitacao)) {
            return false;
        }
        if (!Objects.equals(this.remetente, other.remetente)) {
            return false;
        }
        if (!Objects.equals(this.unidadeRemetente, other.unidadeRemetente)) {
            return false;
        }
        if (!Objects.equals(this.setorRemetente, other.setorRemetente)) {
            return false;
        }
        if (!Objects.equals(this.unidadeDestino, other.unidadeDestino)) {
            return false;
        }
        if (!Objects.equals(this.setorDestino, other.setorDestino)) {
            return false;
        }
        if (!Objects.equals(this.despacho, other.despacho)) {
            return false;
        }
        if (!Objects.equals(this.anexoProcesso, other.anexoProcesso)) {
            return false;
        }
        return true;
    }
}